Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Інші
Група:
КІ-12

Частина тексту файла

Міністерство освіти і науки України Національний університет «Львівська політехніка» Звіт: «Лабораторна робота № 7 Перевантаження операторів» Підготував: Ст.гр. КІ-12 Андрощук С.В. Перевірив: Цигилик Л.О. Львів 2008 Завдання Описати клас, що реалізовує вказаний нижче тип даних. Клас повинен містити множину конструкторів для створення об'єктів певного типу (конструктор по замочуванню та з параметрами, конструктор копії) та подані у таблиці операції над об'єктами класу (плюс обов'язково операцію присвоювання) з використанням механізму перевантаження операцій. Написати програму, яка демонструє роботу з об'єктами цього класу. Організувати виведення та введення даних за допомогою класів-потоків сin та cout. Варіант Завдання  1 Клас Matrix (матриця квадратна) Операції: - =, * =.  2 Клас Complex (комплексні числа) Операції: - =, * =.  3 Клас Fraction (дроби) Операції: - =, * =.  4 Клас HugeInt (цілі числа) Операції: - =, порівняння(<, >).  5 Клас Fraction (дроби) Операції: + =, / =.  6 Клас Set (множини) Операції: об’єднання множин(+ =), перетин множин (- =).  7 Клас HugeInt (цілі числа) Операції: * =, + =.   Тхт програми: #include<iostream.h> #include<stdlib.h> #include <conio.h> class Set { friend istream &operator >>(istream& input, Set& arr) ; friend ostream &operator << (ostream& output, Set& arr); public: int* p; int size; public: Set(int k = 14); Set(Set& arr); virtual ~Set(); Set& operator= (Set& ar); Set& operator-= (Set& ar); Set& operator+= (Set& ar); Set operator+ (Set& ar) ; Set operator- (Set& ar) ; int operator!= (Set& ar); int get_count() const { return size ; } }; Set::Set(int k) { size = k; p = new int[size]; for(int i = 0; i < size; i++) { p[i] = 0; } } Set::Set(Set& ar) { size = ar.size; p = new int[size]; for(int i = 0; i < size; i++) { p[i] = ar.p[i]; } } Set::~Set() { delete[] p; } int main () { Set a(7); Set b(7); cout<<"Enter pershu mnoжunu (operacia-=) "<<endl; cin>>a; cout<<"Enter drugu mnoжunu (operacia-=) "<<endl; cin>>b; a-=b; cout<<"resultat operacii '-=' : "<<a<<endl; Set c(7); Set d(7); cout<<"Enter pershu mnoжunu (operacia+=) "<<endl; cin>>c; cout<<"nter drugu mnoжunu (operacia+=) "<<endl; cin>>d; c+=d; cout<<"resultat operacii '+=' : "<<c<<endl; getch(); return 0; } Set& Set::operator= (Set& ar) { if(this != &ar) { delete[] p; size = ar.size; p = new int[size]; for(int i = 0; i < size; i++) { p[i] = ar.p[i]; } } return *this; } Set Set::operator+ (Set& ar) { int m = (size < ar.size) ? size : ar.size; Set t; if(m == ar.size) { t = *this; for(int i = 0; i < m; i++) { t.p[i] += ar.p[i]; } } else { t = ar; for(int i = 0; i < m; i++) { t.p[i] += p[i]; } } return t; } Set& Set::operator+= (Set& ar) { Set t; t = *this + ar; *this = t; return *this; } Висновок: я навчився перевантажувати оператори += and—=. Set Set::operator- (Set& ar) { Set t; int m = (size < ar.size) ? size : ar.size; if(m == ar.size) { t = *this; for(int i = 0; i < m; i++) { t.p[i] -= ar.p[i]; } } else { t = ar; for(int i = 0; i < m; i++) { t.p[i] -= p[i]; } } return t; } Set& Set::operator-= (Set& ar) { Set t; t = *this - ar; *this = t; return *this; } ostream& operator<< (ostream& output, Set& ar) { for(int i = 0; i < ar.size; i++) { output << ar.p[i]...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини